home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_09_07 / 9n07108a < prev    next >
Text File  |  1991-05-26  |  716b  |  48 lines

  1. #include <stdio.h>
  2. #include <signal.h>
  3.  
  4. #define RET_VALUE        0
  5. #define TRUE 1
  6.  
  7. main(argc,argv)
  8. int argc;
  9. char **argv;è     {
  10. process(argc,argv);
  11. exit(RET_VALUE);
  12. }
  13.  
  14. process(argc,argv)
  15. int argc;
  16. char **argv;
  17. {
  18. int pid;
  19. int status;
  20. int ret;
  21.  
  22. signal(SIGINT,SIG_IGN); /* Ignore interrupt key */
  23. pid = fork();
  24. if (pid == -1)
  25.   {
  26.   perror("all_true");
  27.   exit(1);
  28.   }
  29.  
  30. if (pid > 0 )
  31.  {
  32.  /* In parent */ 
  33.  /* Wait for child */ 
  34.  ret = wait(&status);
  35.  if (ret == -1)
  36.      perror("all_true");
  37.  return;
  38.  }
  39.  
  40. /* In child */
  41. argv++;                  /* Point to program argument */
  42. signal(SIGINT,SIG_DFL); /* Ignore interrupt key */
  43. execvp(*argv, argv);
  44. perror("all_true");
  45. }
  46.  
  47.  
  48.